home *** CD-ROM | disk | FTP | other *** search
- /* Meter.h - MeterRecord definition and interface function protoypes */
-
- /* special partCode for meter */
- #define inBackground 24
-
- struct MeterRecord
- {
- struct MeterRecord **nextMeter; /* or NULL */
- WindowPtr meterOwner;
- Rect meterRect;
- Byte meterVis;
- Byte meterHilite;
- long meterValue, meterMin, meterMax, needleValue;
- /*ProcPtr meterAction;*/
- long meterRfCon;
- char title[32]; /* pascal format, length byte first */
- /* some additional fields */
- Rect incDownRect, incUpRect, pageDownRect, pageUpRect;
- Rect displayRect;
- long displayDivisor; /* power of ten */
- int needleShort, needleLong, halfNeedleWidth;
- int setShort, setLong, halfSetWidth;
- PicHandle backgroundH;
- PolyHandle incUpH, incDownH, pageUpH, pageDownH;
- Point dialCentre;
- long hasMeterID;
- };
- typedef struct MeterRecord MeterRecord;
- typedef MeterRecord *MeterPtr;
- typedef MeterRecord **MeterHandle;
-
- typedef void (*voidPtr)() ;
-
- /* Functions defined in Meter.c */
- extern MeterHandle NewMeter(WindowPtr, Rect*, char*, Boolean, long, long, long, long);
- extern void DisposeMeter(MeterHandle);
- extern void KillMeters(WindowPtr);
- extern void SetMTitle(MeterHandle, char*);
- extern void GetMTitle(MeterHandle, char*);
- extern void HideMeter(MeterHandle);
- extern void ShowMeter(MeterHandle);
- extern void DrawMeters(WindowPtr);
- extern void HiliteMeter(MeterHandle, int);
- extern int FindMeter(Point, WindowPtr, MeterHandle*);
- extern int TrackMeter(MeterHandle, Point, voidPtr);
- extern int TestMeter(MeterHandle, Point);
- extern void MoveMeter(MeterHandle, int, int);
- extern void DragMeter(MeterHandle, Point, Rect*, Rect*, int);
- extern void SizeMeter(MeterHandle, int); /* note proportions are fixed */
- extern void SetMtrValue(MeterHandle, long);
- extern long GetMtrValue(MeterHandle);
- extern void SetMtrMin(MeterHandle, long);
- extern long GetMtrMin(MeterHandle);
- extern void SetMtrMax(MeterHandle, long);
- extern long GetMtrMax(MeterHandle);
- extern void SetMRefCon(MeterHandle, long);
- extern long GetMRefCon(MeterHandle);
- /* note multiple actions procs not supported in this simple version */
- extern void SetNeedleValue(MeterHandle, long);
- extern long GetNeedleValue(MeterHandle);
- extern long GetDisplayDivisor(MeterHandle);
- extern Boolean ValidMeter(MeterHandle);
- extern int GetMaxTitlePixels(MeterHandle);
- extern void MeterSnapshot(MeterHandle); /* draws meter to thePort
- rather than meter's owning window */